/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package progbalao;

/**
 *
 * @author thiagoj
 */
public class Principal {

	public enum Movimento {

		cima(3), baixo(4), leste(1), oeste(2);
		private int movimento;

		private Movimento(int movimento) {
			this.movimento = movimento;
		}

		public int getMovimento() {
			return this.movimento;
		}
	}

	/**
	 * @param args the command line arguments
	 */
	public static void main(String[] args) {

		//1-Garopaba -28.035016, -48.617249 *
		//2-Imarui -28.317680, -48.805389 *
		//3-Imbituba -28.237859, -48.666687*
		//4-Florianopolis -27.593501, -48.549957 *
		//5-Palhoca -27.651297, -48.665314 *
		//6-Santo Amaro -27.688392, -48.769684 *
		//7-Gravatal -28.329164, -49.028549 *
		//8-São Joaquim -28.287452, -49.915009
		//9-Lauro Muller -28.399857, -49.401398
		//10-Bom jardim da serra -28.342763, -49.622841 *

		//maps.google.com/maps?q=Garopaba&hl=pt-BR&ie=UTF8&ll=-28.021909,-48.619115
		//maps.google.com/maps?q=Imaru%C3%AD+-ll=-28.116578,-48.741531&sspn=0.038835,0.07699&oq=Imaru&hnear=Imaru%C3%AD+-+Santa+Catarina,+Rep%C3%BAblica+Federativa+do+Brasil&t=m&z=10

		Balao balaoGaropaba = new Balao(1, "Garopaba", -28.035016, -48.617249, 20000, 100);
		Balao balaoImarui = new Balao(2, "Imarui", -28.317680, -48.805389, 20000, 100);
		Balao balaoImbituba = new Balao(3, "Imbituba", -28.237859, -48.666687, 20000, 100);
		Balao balaoFlorianopolis = new Balao(4, "Floripa", -27.593501, -48.549957, 20000, 100);
		Balao balaoPalhoca = new Balao(5, "Palhoca", -27.651297, -48.665314, 20000, 100);
		Balao balaoSantoAmaro = new Balao(6, "Santo amaro", -27.688392, -48.769684, 20000, 100);
		Balao balaoGravatal = new Balao(7, "Gravatal", -28.329164, -49.028549, 20000, 100);
		Balao balaoSaoJoaquim = new Balao(8, "Sao Joaquim", -28.287452, -49.915009, 20000, 100);
		Balao balaoLauroMuller = new Balao(9, "Lauro Muller", -28.399857, -49.401398, 20000, 100);
		Balao balaoBomJardimDaSerra = new Balao(10, "Bom Jardim", -28.342763, -49.622841, 20000, 100);


		Balao[] baloes = new Balao[10];

		int opcao;
		int opcaoBalao;
		int balaoEscolhido;
		int posicaoVetorBalao;
		int posicaoVetorBalaoVisinho;
		int i;

		baloes[0] = balaoBomJardimDaSerra;
		baloes[1] = balaoFlorianopolis;
		baloes[2] = balaoGaropaba;
		baloes[3] = balaoGravatal;
		baloes[4] = balaoImarui;
		baloes[5] = balaoImbituba;
		baloes[6] = balaoLauroMuller;
		baloes[7] = balaoPalhoca;
		baloes[8] = balaoSantoAmaro;
		baloes[9] = balaoSaoJoaquim;

		for (Balao b : baloes) {
			Funcoes.baloesVisinhos(baloes, b);
		}



		opcao = -1;

		do {
			opcao = Interface.menuPrincipal();



			if (opcao == 2) {
				balaoEscolhido = Interface.escolheDeBalao(baloes); //Escolhe o balao para selecionar o visinho
				posicaoVetorBalao = Funcoes.buscaBaloes(baloes, balaoEscolhido); //Acha o numero do vetor do balao
				if (baloes[posicaoVetorBalao].getLeste() != null) {
					baloes[posicaoVetorBalao].getLeste().setOeste(null);
					baloes[posicaoVetorBalao].setLeste(null);
				}
				if (baloes[posicaoVetorBalao].getOeste() != null){
					baloes[posicaoVetorBalao].getOeste().setLeste(null);
					baloes[posicaoVetorBalao].setOeste(null);
				}
				
				Funcoes.baloesVisinhos(baloes, baloes[posicaoVetorBalao]);


			}

			if (opcao == 3) {
				balaoEscolhido = Interface.escolheDeBalao(baloes);
				posicaoVetorBalao = Funcoes.buscaBaloes(baloes, balaoEscolhido);
				Interface.baloeVizinhoLeste(baloes[posicaoVetorBalao]);
				Interface.baloeVisinhoOeste(baloes[posicaoVetorBalao]);



			}

			if (opcao == 4) {
				balaoEscolhido = Interface.escolheDeBalao(baloes);
				posicaoVetorBalao = Funcoes.buscaBaloes(baloes, balaoEscolhido);
				opcao = Interface.moverBalao();
				baloes[posicaoVetorBalao].mover(opcao, 0);

			}

			if (opcao == 5) {
				balaoEscolhido = Interface.escolheDeBalao(baloes);
				posicaoVetorBalao = Funcoes.buscaBaloes(baloes, balaoEscolhido);
				Interface.mostraValores(baloes[posicaoVetorBalao]);
			}
			
			if (opcao ==6){
				for(Balao b:baloes ){
					Interface.imprimirCordenadas(b);
				}
			}
		} while (opcao != 0);






	}
}
